using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Speedball2 {
  public class Text {
    public int _offset;

    //private int _x;
    //private int _y;
    //private string _s;

    byte [] _bytes;

    public Text (byte [] bytes, int offset) {
      _offset = offset;

      for (int i = 2; ; i++) {
        if (bytes.ReadByte (offset + i) == 0) {
          if (i == 2)
            throw new Exception ();
          _bytes = bytes.Extract (offset, i);
          break;
        }
      }
      //_x = bytes.ReadByte (offset++);
      //_y = bytes.ReadByte (offset++);
      //_s = bytes.ReadString (offset);
    }

    public void WriteNumber (int value, int pos, int nbChars) {
      string s = value.ToString ().PadLeft (nbChars, '0');
      for (int i = 0; i < s.Length; i++) {
        byte c = (byte) s [i];
        if ((c >= '0') && (c <= '9'))
          c = (byte) ('A' + (c - '0') + 26);
        _bytes [pos + i] = c;
      }
    }

    //public int X {
    //  get {
    //    return (_x);
    //  }
    //  set {
    //    _x = value;
    //  }
    //}

    //public int Y {
    //  get {
    //    return (_y);
    //  }
    //  set {
    //    _y = value;
    //  }
    //}

    //public string String {
    //  get {
    //    return (_s);
    //  }
    //}

    public byte [] Bytes {
      get {
        return (_bytes);
      }
    }
  }
}
